home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 52
/
Volume 52 - JOGO DISK .iso
/
Games
/
scoobybigair.swf
/
scripts
/
__Packages
/
ScroobyGravity.as
next >
Wrap
Text File
|
2007-10-01
|
6KB
|
174 lines
class ScroobyGravity
{
var MaxSpeed = 295;
function ScroobyGravity()
{
}
function InitializeVars(_me, _Arc)
{
var _loc1_ = _me;
var _loc2_ = _Arc;
_loc1_.speed = 0;
_loc1_.Falling = 0;
_loc1_.RampeRayon = _loc2_._width / 2;
_loc1_.PointColsX = _loc2_._x + _loc1_.RampeRayon;
_loc1_.PointColsY = _loc2_._y + _loc1_.RampeRayon;
_loc1_.InAir = false;
this.checkHPass = true;
_loc1_.PoolLimit = _loc1_.RampeRayon - _loc1_._height / 2;
}
function Gravity(_me)
{
var _loc1_ = _me;
var _loc2_ = this;
var _loc3_ = _global;
if(_loc1_._y >= _loc1_.PointColsY)
{
_loc2_.DistanceX = Math.abs(_loc1_._x - _loc1_.PointColsX);
_loc2_.DistanceY = Math.abs(_loc1_._y - _loc1_.PointColsY);
_loc2_.Distance = _loc2_.DistanceX + _loc2_.DistanceY;
if(_loc2_.Distance >= _loc1_.PoolLimit)
{
if(_loc1_.Falling != 0)
{
_loc1_.InAir = false;
_loc1_.myEtat = "landing";
_loc1_.goto("landing");
var demiCount = true;
if(_loc1_._x > _loc1_.PointColsX)
{
_loc1_.speed = - _loc1_.Falling;
}
else
{
_loc1_.speed = _loc1_.Falling;
}
_loc1_.Falling = 0;
}
else
{
var demiCount = false;
}
if(demiCount == false)
{
if(_loc1_.speed > 0)
{
if(_loc1_._x < _loc1_.PointColsX)
{
_loc1_.speed += _loc3_.SMeter * 2 - 0.4;
}
else
{
_loc1_.speed -= _loc3_.GravityPower + 0.2;
}
}
else if(_loc1_.speed < 0)
{
if(_loc1_._x > _loc1_.PointColsX)
{
_loc1_.speed -= _loc3_.SMeter * 2 - 0.4;
}
else
{
_loc1_.speed += _loc3_.GravityPower + 0.2;
}
}
}
if(_loc1_._x > _loc1_.PointColsX + _loc1_.PoolLimit - 5 or _loc1_._x < _loc1_.PointColsX - _loc1_.PoolLimit + 5)
{
_loc1_._x += _loc1_.speed / 5;
}
else if(_loc1_._x > _loc1_.PointColsX + _loc1_.PoolLimit - 18 or _loc1_._x < _loc1_.PointColsX - _loc1_.PoolLimit + 18)
{
_loc1_._x += _loc1_.speed / 3;
}
else if(_loc1_._x > _loc1_.PointColsX + _loc1_.PoolLimit - 30 or _loc1_._x < _loc1_.PointColsX - _loc1_.PoolLimit + 30)
{
_loc1_._x += _loc1_.speed / 2;
}
else if(_loc1_._x > _loc1_.PointColsX + _loc1_.PoolLimit - 60 or _loc1_._x < _loc1_.PointColsX - _loc1_.PoolLimit + 60)
{
_loc1_._x += _loc1_.speed / 1.5;
}
else
{
_loc1_._x += _loc1_.speed / 1.1;
}
if(Math.abs(_loc1_._x - _loc1_.PointColsX) > _loc1_.PoolLimit)
{
if(_loc1_._x > _loc1_.PointColsX)
{
_loc1_._x = _loc1_.PointColsX + _loc1_.PoolLimit;
}
else
{
_loc1_._x = _loc1_.PointColsX - _loc1_.PoolLimit;
}
if(_loc1_.myEtat != "jumping")
{
_loc1_.myEtat = "jumping";
_loc1_.goto("jumping");
}
_loc1_.Falling -= Math.abs(_loc1_.speed) / _loc3_.GravityPower;
_loc1_.speed = 0;
_loc1_.Falling -= _loc3_.GravityPower;
_loc1_._y = _loc1_.PointColsY - 1;
_loc1_.InAir = true;
}
else
{
_loc2_.DistanceX = Math.abs(_loc1_._x - _loc1_.PointColsX);
_loc1_._y = _loc1_.PointColsY + Math.sqrt(_loc1_.PoolLimit * _loc1_.PoolLimit - _loc2_.DistanceX * _loc2_.DistanceX);
}
}
else
{
if(_loc1_.Falling < _loc2_.MaxSpeed)
{
_loc1_.Falling += _loc3_.GravityPower;
}
_loc1_._y += _loc1_.Falling;
}
}
else
{
if(_loc1_.Falling < _loc2_.MaxSpeed)
{
_loc1_.Falling += _loc3_.GravityPower;
}
if(_loc1_.Falling > 0)
{
if(_loc2_.checkHPass == false)
{
_loc3_.indicator.checkHeight(_loc1_._y);
_loc2_.checkHPass = true;
}
if(_loc3_.animClose == true)
{
if(_loc1_.myEtat != "downfast" && _loc1_.myEtat != "downDownhill")
{
_loc1_.myEtat = "downfast";
_loc1_.goto("downfast");
}
}
}
else if(_loc1_.Falling < -7)
{
if(_loc1_.myEtat != "upfast" && _loc1_.myEtat != "trick")
{
_loc1_.myEtat = "upfast";
_loc1_.goto("upfast");
}
}
else if(_loc1_.myEtat != "upswitch")
{
_loc2_.checkHPass = false;
_loc3_.animClose = false;
_loc1_.myEtat = "upswitch";
_loc1_.goto("upswitch");
}
_loc1_._y += _loc1_.Falling;
}
}
}